import fetch from 'node-fetch';

async function finalTest() {
    console.log('🚀 最终测试 - 所有管理后台接口功能\n');
    
    const baseUrl = 'http://localhost:8000/api/v1/admin';
    const authToken = 'Bearer admin_token';
    
    console.log('=============== 数据统计功能 ===============');
    
    // 1. 测试统计数据
    const statsResponse = await fetch(`${baseUrl}/data/info`, {
        method: 'GET',
        headers: { 'Authorization': authToken }
    });
    const statsData = await statsResponse.json();
    console.log('📊 统计数据:', statsData);
    
    // 2. 测试日文章统计
    const dailyResponse = await fetch(`${baseUrl}/data/article`, {
        method: 'GET',
        headers: { 'Authorization': authToken }
    });
    const dailyData = await dailyResponse.json();
    console.log('📈 近7天文章数据:', dailyData.data.slice(-3)); // 只显示最后3天
    
    console.log('\n=============== 文章管理功能 ===============');
    
    // 3. 发布文章
    const publishResponse = await fetch(`${baseUrl}/article/publish`, {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'Authorization': authToken
        },
        body: JSON.stringify({
            title: '最终测试文章',
            content: '这是最终测试文章的内容，用于验证所有功能是否正常。包含完整的文章内容，测试数据库插入功能。',
            categoryId: 1,
            date: '2025-08-15',
            state: '已发布'
        })
    });
    const publishData = await publishResponse.json();
    console.log('📝 发布文章结果:', publishData);
    
    // 4. 编辑文章（使用一个已知的ID）
    const editResponse = await fetch(`${baseUrl}/article/edit`, {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'Authorization': authToken
        },
        body: JSON.stringify({
            id: 220, // 使用一个存在的文章ID
            title: '编辑测试文章',
            content: '这是编辑后的文章内容，验证更新功能。',
            categoryId: 2,
            date: '2025-08-15',
            state: '已发布'
        })
    });
    const editData = await editResponse.json();
    console.log('✏️ 编辑文章结果:', editData);
    
    console.log('\n=============== 功能测试完成 ===============');
    console.log('✅ 接口11(发布): ', publishData.code === 200 ? '成功' : '失败');
    console.log('✅ 接口13(编辑): ', editData.code === 200 ? '成功' : '失败');
    console.log('✅ 接口15(统计): ', statsData.code === 200 ? '成功' : '失败');
    console.log('✅ 接口16(日统计):', dailyData.code === 200 ? '成功' : '失败');
    
    const allSuccess = [publishData, editData, statsData, dailyData].every(result => result.code === 200);
    console.log(`\n🎉 总体结果: ${allSuccess ? '所有接口正常工作！' : '部分接口存在问题'}`);
}

finalTest().catch(console.error);
